package com.wlcorp.forcazamis.business.pi;

import java.util.List;

import com.wlcorp.forcazamis.domain.pi.Pidetail;
import com.wlcorp.forcazamis.domain.pi.Pifitting;
import com.wlcorp.forcazamis.domain.pi.PiproductDetail;
import com.wlcorp.forcazamis.exception.ServiceException;

public interface IPidetailService {
	public List<Pidetail> getPidetailList(Pidetail pidetail) throws ServiceException;
	public Long getPidetailCount(Pidetail pidetail) throws ServiceException;
	public Pidetail getPidetailById(Long pidetailId) throws ServiceException;
	public void deletePidetail(Pidetail pidetail) throws ServiceException;
	public void savePidetail(Pidetail pidetail) throws ServiceException;
	public void updatePidetail(Pidetail pidetail) throws ServiceException;
	public List<PiproductDetail> getPiproductDetailList(PiproductDetail piproductDetail) throws ServiceException;
	public List<PiproductDetail> getPiproductDetailListByCode(PiproductDetail piproductDetail) throws ServiceException;
	public void deletePiproductDetail(PiproductDetail piproductDetail) throws ServiceException;
	public void savePiproductDetailList(List<PiproductDetail> piproductList,Long piid) throws ServiceException;
	public PiproductDetail getPiproductDetailById(Long productId) throws ServiceException;
	public List<Pifitting> getPifittingList(Pifitting pifitting) throws ServiceException;
	public void deletePifitting(Pifitting pifitting) throws ServiceException;
	public void savePifitting(Pifitting pifitting) throws ServiceException;
	public Pifitting getPifittingById(Long fittingId) throws ServiceException;
	public void drawbackPI(Pidetail pidetail) throws ServiceException;
	
	public List<PiproductDetail> getPiproductDetailListByPidetailId(Long piid) throws ServiceException;
	public List<Pifitting> getPifittingListByPidetailId(Long piid) throws ServiceException;
}
